package com.ruicar.afs.cloud.apply.archive.service;

import com.ruicar.afs.cloud.apply.archive.condition.ImageCondition;
import com.ruicar.afs.cloud.apply.archive.condition.PostCondition;
import com.ruicar.afs.cloud.common.core.util.IResponse;
import org.springframework.web.multipart.MultipartFile;

/**
 * @description: 运单服务类
 * @author: sijun.yu
 * @date: 2020/6/5 14:19
 */
public interface WaybillService {

    /**
     * 获取归档列表
     *
     * @param condition
     * @return
     */
    public IResponse getDocList(PostCondition condition);

    /**
     * 保存运单信息
     *
     * @param condition
     * @return
     */
    public IResponse savePostInfo(PostCondition condition);

    /**
     * 查找最新运单
     *
     * @return
     */
    public IResponse getPostInfo();

    /**
     * 编辑运单信息
     *
     * @return
     */
    public IResponse editPostInfo(PostCondition condition);

    /**
     * 编辑查看归档信息
     *
     * @param condition
     * @return
     */
    public IResponse editDocInfo(PostCondition condition);

    /**
     * 提交归档信息
     *
     * @param condition
     * @return
     */
    public IResponse submitDocInfo(PostCondition condition);

    /**
     * 查询运单的归档列表
     *
     * @return
     */
    public IResponse getPostDocList(PostCondition condition);

    /**
     * 删除运单的归档
     *
     * @return
     */
    public IResponse deletePostDocInfo(PostCondition condition);

    /**
     * 提交运单信息
     *
     * @param condition
     * @return
     */
    public IResponse submitPostInfo(PostCondition condition);

    /**
     * 创建运单信息
     * @return
     */
    public IResponse newPost();

    /**
     * 获取挂靠信息
     * @param condition
     * @return
     */
    public IResponse getanchoredinfo(PostCondition condition);

    /**
     * 判断是否免抵押退回绿本
     *
     * @param condition
     * @return
     */
    public IResponse checkPostDoc(PostCondition condition);

    /**
     * 文件下载
     * @param condition
     * @return
     */
    public byte[] downFile(ImageCondition condition);

    /**
     * 文件上传
     * @param file
     * @return
     */
    public IResponse upload(MultipartFile file,String camainId,String imCategoryCode);

}
